package main

import (
	"encoding/json"
	"fmt"
)

type Result struct {
	Code    int    `json:"code"`
	Message string `json:"msg"`
}

func main() {

	var res Result
	res.Code = 200
	res.Message = "success"

	fmt.Printf("%#v\n", res)
	// 序列化
	jsons2, _ := json.Marshal(res)
	fmt.Println(string(jsons2))

	// 序列化
	jsons, errs := json.Marshal(res)

	if errs != nil {
		fmt.Println("json marshal error:", errs)
	}

	// []uint8 类型切片
	fmt.Printf("%T\n", jsons)
	fmt.Println("json data: ", string(jsons))

	// 反序列化
	var res2 Result
	errs = json.Unmarshal(jsons, &res2)
	if errs != nil {
		fmt.Println("json unmarshal error: ", errs)
	}
	fmt.Println("json data: ", res2)
}
